$(function () {
    $("#jqGrid").jqGrid({
        url: 'sys/generator/list',
        datatype: "json",
        colModel: [
			{ label: '表名', name: 'tableName', width: 100, key: true },
			{ label: 'Engine', name: 'engine', width: 70},
			{ label: '表备注', name: 'tableComment', width: 100 },
			{ label: '创建时间', name: 'createTime', width: 100 }
        ],
		viewrecords: true,
        height: 385,
        rowNum: 10,
		rowList : [10,30,50,100,200],
        rownumbers: true,
        rownumWidth: 25,
        autowidth:true,
        multiselect: true,
        pager: "#jqGridPager",
        jsonReader : {
            root: "page.list",
            page: "page.currPage",
            total: "page.totalPage",
            records: "page.totalCount"
        },
        prmNames : {
            page:"page",
            rows:"limit",
            order: "order"
        },
        gridComplete:function(){
        	//隐藏grid底部滚动条
        	$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "hidden" });
        }
    });
});

var vm = new Vue({
	el:'#rrapp',
	data:{
		q:{
			tableName: null
		}
	},
	methods: {
		query: function () {
			$("#jqGrid").jqGrid('setGridParam',{
                postData:{'tableName': vm.q.tableName},
                page:1
            }).trigger("reloadGrid");
		},
		generator: function() {
            var tableNames = getSelectedRows();
            if(tableNames == null){
                return ;
            }
            location.href = "sys/generator/code?tables=" + tableNames.join();
		}
	}
});


//
// $(function () {
//     // 初始化 jqGrid
//     $("#jqGrid").jqGrid({
//         url: '/generator/queryTable',
//         mtype: "POST",
//         contentType: "application/json", // 发送 JSON 数据
//         datatype: "json",
//         colModel: [
//             { label: '表名', name: 'tableName', width: 100, key: true },
//             { label: 'Engine', name: 'engine', width: 70 },
//             { label: '表备注', name: 'tableComment', width: 100 },
//             { label: '创建时间', name: 'createTime', width: 100 }
//         ],
//         viewrecords: true,
//         height: 385,
//         rowNum: 10,
//         rowList: [10, 30, 50, 100, 200],
//         rownumbers: true,
//         rownumWidth: 25,
//         autowidth: true,
//         multiselect: true,
//         pager: "#jqGridPager",
//         jsonReader: {
//             root: "tableInfo", // 对应后端 R.ok().put("tableInfo", tableInfo)
//             repeatitems: false
//         },
//         prmNames: {
//             page: "page",
//             rows: "limit",
//             order: "order"
//         },
//         gridComplete: function () {
//             $("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x": "hidden" });
//         },
//         serializeGridData: function () {
//             // jqGrid 请求参数转 JSON，确保后端可解析
//             return JSON.stringify({
//                 tableName: vm.q.tableName,
//                 dbConfig: vm.dbConfig
//             });
//         }
//     });
// });
//
// var vm = new Vue({
//     el: '#rrapp',
//     data: {
//         q: {
//             tableName: ''
//         },
//         dbConfig: JSON.parse(localStorage.getItem('dbConfig')) || {},
//         codeConfig: JSON.parse(localStorage.getItem('codeConfig')) || {}
//     },
//     methods: {
//         query: function () {
//             if (!this.q.tableName) {
//                 alert('请输入表名');
//                 return;
//             }
//             $("#jqGrid").jqGrid('setGridParam', {
//                 postData: JSON.stringify({
//                     tableName: this.q.tableName,
//                     dbConfig: this.dbConfig
//                 }),
//                 page: 1,
//                 datatype: "json"
//             }).trigger("reloadGrid");
//         },
//         generator: function () {
//             var tableNames = getSelectedRows();
//             if (!tableNames || tableNames.length === 0) {
//                 alert('请先选择表');
//                 return;
//             }
//             axios.post('/generator/generateCode', {
//                 tables: tableNames,
//                 dbConfig: this.dbConfig,
//                 codeConfig: this.codeConfig
//             }, { responseType: 'blob' })
//                 .then(res => {
//                     const blob = new Blob([res.data]);
//                     const link = document.createElement('a');
//                     link.href = window.URL.createObjectURL(blob);
//                     link.download = 'renren.zip';
//                     link.click();
//                 })
//                 .catch(err => {
//                     alert('生成失败: ' + err);
//                 });
//         },
//         testConnection: function () {
//             axios.post('/generator/testDb', this.dbConfig)
//                 .then(res => {
//                     alert(res.data.msg || '连接成功！');
//                 })
//                 .catch(err => {
//                     alert('连接失败: ' + err);
//                 });
//         }
//     }
// });
//
//
